| 
                
               | 
              
                
               | 
              
                @@ -3,7 +3,6 @@ 
               | 
            
            
            
              | 
                3
               | 
              
                3
               | 
              
                 import logging 
               | 
            
            
            
              | 
                4
               | 
              
                4
               | 
              
                 import time 
               | 
            
            
            
              | 
                5
               | 
              
                5
               | 
              
                  
               | 
            
            
            
              | 
                6
               | 
              
                
               | 
              
                -from django.db import transaction 
               | 
            
            
            
              | 
                7
               | 
              
                6
               | 
              
                 from django_six import CompatibilityBaseCommand, close_old_connections 
               | 
            
            
            
              | 
                8
               | 
              
                7
               | 
              
                 from TimeConvert import TimeConvert as tc 
               | 
            
            
            
              | 
                9
               | 
              
                8
               | 
              
                  
               | 
            
            
            
            
            
              | 
                
               | 
              
                
               | 
              
                @@ -30,8 +29,6 @@ class Command(CompatibilityBaseCommand): 
               | 
            
            
            
              | 
                30
               | 
              
                29
               | 
              
                             k, v = r.blpopjson(MEMBER_SEND_COUPON_LIST, 60) 
               | 
            
            
            
              | 
                31
               | 
              
                30
               | 
              
                             if v: 
               | 
            
            
            
              | 
                32
               | 
              
                31
               | 
              
                  
               | 
            
            
            
              | 
                33
               | 
              
                
               | 
              
                -                time.sleep(10) 
               | 
            
            
            
              | 
                34
               | 
              
                
               | 
              
                - 
               | 
            
            
            
              | 
                35
               | 
              
                32
               | 
              
                                 close_old_connections() 
               | 
            
            
            
              | 
                36
               | 
              
                33
               | 
              
                  
               | 
            
            
            
              | 
                37
               | 
              
                34
               | 
              
                                 logger.info(v) 
               | 
            
            
            
            
            
              | 
                
               | 
              
                
               | 
              
                @@ -40,72 +37,71 @@ class Command(CompatibilityBaseCommand): 
               | 
            
            
            
              | 
                40
               | 
              
                37
               | 
              
                                 user_id = v.get('user_id', '')
               | 
            
            
            
              | 
                41
               | 
              
                38
               | 
              
                                 coupon_id = v.get('coupon_id', '')
               | 
            
            
            
              | 
                42
               | 
              
                39
               | 
              
                  
               | 
            
            
            
              | 
                43
               | 
              
                
               | 
              
                -                with transaction.atomic(): 
               | 
            
            
            
              | 
                
               | 
              
                40
               | 
              
                +                try: 
               | 
            
            
            
              | 
                
               | 
              
                41
               | 
              
                +                    user = UserInfo.objects.get(user_id=user_id) 
               | 
            
            
            
              | 
                
               | 
              
                42
               | 
              
                +                except UserInfo.DoesNotExist: 
               | 
            
            
            
              | 
                
               | 
              
                43
               | 
              
                +                    continue 
               | 
            
            
            
              | 
                
               | 
              
                44
               | 
              
                +                if coupon_id: 
               | 
            
            
            
              | 
                
               | 
              
                45
               | 
              
                +                    # 发放商城兑换券 
               | 
            
            
            
              | 
                44
               | 
              
                46
               | 
              
                                     try: 
               | 
            
            
            
              | 
                45
               | 
              
                
               | 
              
                -                        user = UserInfo.objects.get(user_id=user_id) 
               | 
            
            
            
              | 
                46
               | 
              
                
               | 
              
                -                    except UserInfo.DoesNotExist: 
               | 
            
            
            
              | 
                
               | 
              
                47
               | 
              
                +                        coupon = CouponInfo.objects.get(coupon_id=coupon_id) 
               | 
            
            
            
              | 
                
               | 
              
                48
               | 
              
                +                    except CouponInfo.DoesNotExist: 
               | 
            
            
            
              | 
                47
               | 
              
                49
               | 
              
                                         continue 
               | 
            
            
            
              | 
                48
               | 
              
                
               | 
              
                -                    if coupon_id: 
               | 
            
            
            
              | 
                49
               | 
              
                
               | 
              
                -                        # 发放商城兑换券 
               | 
            
            
            
              | 
                
               | 
              
                50
               | 
              
                + 
               | 
            
            
            
              | 
                
               | 
              
                51
               | 
              
                +                    UserCouponInfo.objects.create( 
               | 
            
            
            
              | 
                
               | 
              
                52
               | 
              
                +                        brand_id=coupon.brand_id, 
               | 
            
            
            
              | 
                
               | 
              
                53
               | 
              
                +                        brand_name=coupon.brand_name, 
               | 
            
            
            
              | 
                
               | 
              
                54
               | 
              
                +                        coupon_id=coupon_id, 
               | 
            
            
            
              | 
                
               | 
              
                55
               | 
              
                +                        user_id=user_id, 
               | 
            
            
            
              | 
                
               | 
              
                56
               | 
              
                +                        coupon_title=coupon.coupon_title, 
               | 
            
            
            
              | 
                
               | 
              
                57
               | 
              
                +                        coupon_detail=coupon.coupon_detail, 
               | 
            
            
            
              | 
                
               | 
              
                58
               | 
              
                +                        coupon_value=coupon.coupon_value, 
               | 
            
            
            
              | 
                
               | 
              
                59
               | 
              
                +                        coupon_image=coupon.coupon_image, 
               | 
            
            
            
              | 
                
               | 
              
                60
               | 
              
                +                        active_at=tc.utc_datetime(), 
               | 
            
            
            
              | 
                
               | 
              
                61
               | 
              
                +                        expire_at=tc.utc_datetime(days=365), 
               | 
            
            
            
              | 
                
               | 
              
                62
               | 
              
                +                        coupon_valid_period=coupon.coupon_valid_period, 
               | 
            
            
            
              | 
                
               | 
              
                63
               | 
              
                +                        coupon_limit_model_ids=coupon.coupon_limit_model_ids, 
               | 
            
            
            
              | 
                
               | 
              
                64
               | 
              
                +                    ) 
               | 
            
            
            
              | 
                
               | 
              
                65
               | 
              
                + 
               | 
            
            
            
              | 
                
               | 
              
                66
               | 
              
                +                else: 
               | 
            
            
            
              | 
                
               | 
              
                67
               | 
              
                +                    # 发放会员权益 
               | 
            
            
            
              | 
                
               | 
              
                68
               | 
              
                +                    rights = RightInfo.objects.filter(is_send_coupon=True, status=True) 
               | 
            
            
            
              | 
                
               | 
              
                69
               | 
              
                +                    for right in rights: 
               | 
            
            
            
              | 
                
               | 
              
                70
               | 
              
                +                        if user.level == UserInfo.MEMBER_LRC: 
               | 
            
            
            
              | 
                
               | 
              
                71
               | 
              
                +                            coupon_id = right.coupon_level1_id 
               | 
            
            
            
              | 
                
               | 
              
                72
               | 
              
                +                            coupon_num = right.coupon_level1_num 
               | 
            
            
            
              | 
                
               | 
              
                73
               | 
              
                +                        elif user.level == UserInfo.MEMBER_SILVER: 
               | 
            
            
            
              | 
                
               | 
              
                74
               | 
              
                +                            coupon_id = right.coupon_level2_id 
               | 
            
            
            
              | 
                
               | 
              
                75
               | 
              
                +                            coupon_num = right.coupon_level2_num 
               | 
            
            
            
              | 
                
               | 
              
                76
               | 
              
                +                        elif user.level == UserInfo.MEMBER_SILVER: 
               | 
            
            
            
              | 
                
               | 
              
                77
               | 
              
                +                            coupon_id = right.coupon_level3_id 
               | 
            
            
            
              | 
                
               | 
              
                78
               | 
              
                +                            coupon_num = right.coupon_level3_num 
               | 
            
            
            
              | 
                
               | 
              
                79
               | 
              
                +                        elif user.level == UserInfo.MEMBER_SILVER: 
               | 
            
            
            
              | 
                
               | 
              
                80
               | 
              
                +                            coupon_id = right.coupon_level4_id 
               | 
            
            
            
              | 
                
               | 
              
                81
               | 
              
                +                            coupon_num = right.coupon_level4_num 
               | 
            
            
            
              | 
                
               | 
              
                82
               | 
              
                +                        else: 
               | 
            
            
            
              | 
                
               | 
              
                83
               | 
              
                +                            coupon_id = right.coupon_level5_id 
               | 
            
            
            
              | 
                
               | 
              
                84
               | 
              
                +                            coupon_num = right.coupon_level5_num 
               | 
            
            
            
              | 
                
               | 
              
                85
               | 
              
                + 
               | 
            
            
            
              | 
                50
               | 
              
                86
               | 
              
                                         try: 
               | 
            
            
            
              | 
                51
               | 
              
                87
               | 
              
                                             coupon = CouponInfo.objects.get(coupon_id=coupon_id) 
               | 
            
            
            
              | 
                52
               | 
              
                88
               | 
              
                                         except CouponInfo.DoesNotExist: 
               | 
            
            
            
              | 
                53
               | 
              
                89
               | 
              
                                             continue 
               | 
            
            
            
              | 
                54
               | 
              
                90
               | 
              
                  
               | 
            
            
            
              | 
                55
               | 
              
                
               | 
              
                -                        UserCouponInfo.objects.create( 
               | 
            
            
            
              | 
                56
               | 
              
                
               | 
              
                -                            brand_id=coupon.brand_id, 
               | 
            
            
            
              | 
                57
               | 
              
                
               | 
              
                -                            brand_name=coupon.brand_name, 
               | 
            
            
            
              | 
                58
               | 
              
                
               | 
              
                -                            coupon_id=coupon_id, 
               | 
            
            
            
              | 
                59
               | 
              
                
               | 
              
                -                            user_id=user_id, 
               | 
            
            
            
              | 
                60
               | 
              
                
               | 
              
                -                            coupon_title=coupon.coupon_title, 
               | 
            
            
            
              | 
                61
               | 
              
                
               | 
              
                -                            coupon_detail=coupon.coupon_detail, 
               | 
            
            
            
              | 
                62
               | 
              
                
               | 
              
                -                            coupon_value=coupon.coupon_value, 
               | 
            
            
            
              | 
                63
               | 
              
                
               | 
              
                -                            coupon_image=coupon.coupon_image, 
               | 
            
            
            
              | 
                64
               | 
              
                
               | 
              
                -                            active_at=tc.utc_datetime(), 
               | 
            
            
            
              | 
                65
               | 
              
                
               | 
              
                -                            expire_at=tc.utc_datetime(days=365), 
               | 
            
            
            
              | 
                66
               | 
              
                
               | 
              
                -                            coupon_valid_period=coupon.coupon_valid_period, 
               | 
            
            
            
              | 
                67
               | 
              
                
               | 
              
                -                            coupon_limit_model_ids=coupon.coupon_limit_model_ids, 
               | 
            
            
            
              | 
                68
               | 
              
                
               | 
              
                -                        ) 
               | 
            
            
            
              | 
                69
               | 
              
                
               | 
              
                - 
               | 
            
            
            
              | 
                70
               | 
              
                
               | 
              
                -                    else: 
               | 
            
            
            
              | 
                71
               | 
              
                
               | 
              
                -                        # 发放会员权益 
               | 
            
            
            
              | 
                72
               | 
              
                
               | 
              
                -                        rights = RightInfo.objects.filter(is_send_coupon=True, status=True) 
               | 
            
            
            
              | 
                73
               | 
              
                
               | 
              
                -                        for right in rights: 
               | 
            
            
            
              | 
                74
               | 
              
                
               | 
              
                -                            if user.level == UserInfo.MEMBER_LRC: 
               | 
            
            
            
              | 
                75
               | 
              
                
               | 
              
                -                                coupon_id = right.coupon_level1_id 
               | 
            
            
            
              | 
                76
               | 
              
                
               | 
              
                -                                coupon_num = right.coupon_level1_num 
               | 
            
            
            
              | 
                77
               | 
              
                
               | 
              
                -                            elif user.level == UserInfo.MEMBER_SILVER: 
               | 
            
            
            
              | 
                78
               | 
              
                
               | 
              
                -                                coupon_id = right.coupon_level2_id 
               | 
            
            
            
              | 
                79
               | 
              
                
               | 
              
                -                                coupon_num = right.coupon_level2_num 
               | 
            
            
            
              | 
                80
               | 
              
                
               | 
              
                -                            elif user.level == UserInfo.MEMBER_SILVER: 
               | 
            
            
            
              | 
                81
               | 
              
                
               | 
              
                -                                coupon_id = right.coupon_level3_id 
               | 
            
            
            
              | 
                82
               | 
              
                
               | 
              
                -                                coupon_num = right.coupon_level3_num 
               | 
            
            
            
              | 
                83
               | 
              
                
               | 
              
                -                            elif user.level == UserInfo.MEMBER_SILVER: 
               | 
            
            
            
              | 
                84
               | 
              
                
               | 
              
                -                                coupon_id = right.coupon_level4_id 
               | 
            
            
            
              | 
                85
               | 
              
                
               | 
              
                -                                coupon_num = right.coupon_level4_num 
               | 
            
            
            
              | 
                86
               | 
              
                
               | 
              
                -                            else: 
               | 
            
            
            
              | 
                87
               | 
              
                
               | 
              
                -                                coupon_id = right.coupon_level5_id 
               | 
            
            
            
              | 
                88
               | 
              
                
               | 
              
                -                                coupon_num = right.coupon_level5_num 
               | 
            
            
            
              | 
                89
               | 
              
                
               | 
              
                - 
               | 
            
            
            
              | 
                90
               | 
              
                
               | 
              
                -                            try: 
               | 
            
            
            
              | 
                91
               | 
              
                
               | 
              
                -                                coupon = CouponInfo.objects.get(coupon_id=coupon_id) 
               | 
            
            
            
              | 
                92
               | 
              
                
               | 
              
                -                            except CouponInfo.DoesNotExist: 
               | 
            
            
            
              | 
                93
               | 
              
                
               | 
              
                -                                continue 
               | 
            
            
            
              | 
                94
               | 
              
                
               | 
              
                - 
               | 
            
            
            
              | 
                95
               | 
              
                
               | 
              
                -                            for _ in xrange(right.coupon_num or coupon_num): 
               | 
            
            
            
              | 
                96
               | 
              
                
               | 
              
                -                                UserCouponInfo.objects.create( 
               | 
            
            
            
              | 
                97
               | 
              
                
               | 
              
                -                                    brand_id=coupon.brand_id, 
               | 
            
            
            
              | 
                98
               | 
              
                
               | 
              
                -                                    brand_name=coupon.brand_name, 
               | 
            
            
            
              | 
                99
               | 
              
                
               | 
              
                -                                    coupon_id=coupon_id, 
               | 
            
            
            
              | 
                100
               | 
              
                
               | 
              
                -                                    user_id=user_id, 
               | 
            
            
            
              | 
                101
               | 
              
                
               | 
              
                -                                    coupon_title=coupon.coupon_title, 
               | 
            
            
            
              | 
                102
               | 
              
                
               | 
              
                -                                    coupon_detail=coupon.coupon_detail, 
               | 
            
            
            
              | 
                103
               | 
              
                
               | 
              
                -                                    coupon_value=coupon.coupon_value, 
               | 
            
            
            
              | 
                104
               | 
              
                
               | 
              
                -                                    coupon_image=coupon.coupon_image, 
               | 
            
            
            
              | 
                105
               | 
              
                
               | 
              
                -                                    active_at=tc.utc_datetime(), 
               | 
            
            
            
              | 
                106
               | 
              
                
               | 
              
                -                                    expire_at=tc.utc_datetime(days=365), 
               | 
            
            
            
              | 
                107
               | 
              
                
               | 
              
                -                                    coupon_valid_period=coupon.coupon_valid_period, 
               | 
            
            
            
              | 
                108
               | 
              
                
               | 
              
                -                                    coupon_limit_model_ids=coupon.coupon_limit_model_ids, 
               | 
            
            
            
              | 
                109
               | 
              
                
               | 
              
                -                                ) 
               | 
            
            
            
              | 
                
               | 
              
                91
               | 
              
                +                        for _ in xrange(right.coupon_num or coupon_num): 
               | 
            
            
            
              | 
                
               | 
              
                92
               | 
              
                +                            UserCouponInfo.objects.create( 
               | 
            
            
            
              | 
                
               | 
              
                93
               | 
              
                +                                brand_id=coupon.brand_id, 
               | 
            
            
            
              | 
                
               | 
              
                94
               | 
              
                +                                brand_name=coupon.brand_name, 
               | 
            
            
            
              | 
                
               | 
              
                95
               | 
              
                +                                coupon_id=coupon_id, 
               | 
            
            
            
              | 
                
               | 
              
                96
               | 
              
                +                                user_id=user_id, 
               | 
            
            
            
              | 
                
               | 
              
                97
               | 
              
                +                                coupon_title=coupon.coupon_title, 
               | 
            
            
            
              | 
                
               | 
              
                98
               | 
              
                +                                coupon_detail=coupon.coupon_detail, 
               | 
            
            
            
              | 
                
               | 
              
                99
               | 
              
                +                                coupon_value=coupon.coupon_value, 
               | 
            
            
            
              | 
                
               | 
              
                100
               | 
              
                +                                coupon_image=coupon.coupon_image, 
               | 
            
            
            
              | 
                
               | 
              
                101
               | 
              
                +                                active_at=tc.utc_datetime(), 
               | 
            
            
            
              | 
                
               | 
              
                102
               | 
              
                +                                expire_at=tc.utc_datetime(days=365), 
               | 
            
            
            
              | 
                
               | 
              
                103
               | 
              
                +                                coupon_valid_period=coupon.coupon_valid_period, 
               | 
            
            
            
              | 
                
               | 
              
                104
               | 
              
                +                                coupon_limit_model_ids=coupon.coupon_limit_model_ids, 
               | 
            
            
            
              | 
                
               | 
              
                105
               | 
              
                +                            ) 
               | 
            
            
            
              | 
                110
               | 
              
                106
               | 
              
                  
               | 
            
            
            
              | 
                111
               | 
              
                107
               | 
              
                                 close_old_connections() 
               |